home *** CD-ROM | disk | FTP | other *** search
Wrap
/* Last Bar in Byzantium /* /* RF 1=0 first visit/start of game /* RF 9=0 Unbroken bottle =1 broken bottle /* UPDATE: scroll_frames;normal_frames /* /* Determines how often the screen is updated, both for when the background /* is scrolling and when it is stable. High values increases overall /* jerkiness, but is sometimes required to prevent certain objects from /* looking VERY ugly when animated. /* UPDATE: 3;1 /* SECTION: section number /* /* The room belongs to section 1, described in the file 1.section. /* SECTION: 1 /* BACKDROP: filename /* /* This is the backdrop file for the room /* BACKDROP: 1BG.IFF /* START_POS: sposno;bobimage;x;y;camera;floor /* /* This tells the starting point for the main character when /* entering the room. (The previous GOTO command, and the /* START_ROOM: statement in the graal.main file, point to /* "sposno". /* /* camera is R=right, L=LEFT or M=mid panned to start with. /* /* (This statement must follow after the BG_IFF: statement.) /* START_POS: 1;13;20;115;L;1 /* FLOOR: floorno;x1;y1;x2;y2;floormap/.../floormap /* /* This limits the area which the character can walk freely upon. /* The floor can consist of a "mosaic" of floor parts, and the system /* needs to know how the floors are connected. This is done using /* the floormaps in the format s-f, each map answering the question /* "if I am currently on floor floorno and would like to get to floor /* (s), which floor (f) should I go to now?" /* /* Note: First parameter (floorno) MUST be sequential and go from /* 1 upwards - it's in the statement to make it more legible, that's /* its only function! Also refer to the FLOOR action command. /* FLOOR: 1;16;114;304;119;1-1/2-2/3-3/4-4 FLOOR: 2;0;116;310;119;1-1/2-2/3-3/4-4 FLOOR: 3;30;111;95;119;1-1/2-2/3-3/4-1 FLOOR: 4;207;111;295;119;1-1/2-2/3-1/4-4 /* EXIT: no;x1;y1;x2;y2;epointx;epointy;description /* /* This command defines an exit /* x1;y1;x2;y2 = exit area /* epointx;epointy = point to move character to when exiting /* description = cursor description of exit /* /* EXIT: 1;7;66;12;112;10;113;street\outside /* CLPART: filename /* CLPART: 1FG.IFF /* ROOMBOBS: no_of_imgs;startrbob;grabx;graby;width;height;xoffset;hotsp /* /* See the BOBS: statement in the graal.main file. The difference is /* that ROOMBOBS: define "room" images instead of "global" images - that /* is, the image numbers given here must be prefixed with "RBOB" when /* referred to in other statements and commands. /* /* 1 is the right-hand-side barrel ROOMBOBS: 1;1;125;100;32;54;0;0 /* 2-3 is the torch ROOMBOBS: 2;2;48;0;27;35;28;0 /* 4-9 is bartender animation ROOMBOBS: 6;4;103;0;17;22;18;0 /* 10 is a hand ROOMBOBS: 1;10;0;24;4;4;0;200 /* 11 is spam ROOMBOBS: 1;11;0;31;10;5;0;0 /* 12 is another hand ROOMBOBS: 1;12;16;24;4;4;0;200 /* 13 is text "MIKLAGĂ…RD" ROOMBOBS: 1;13;12;53;124;24;0;120 /* 14 is text "950 A.D." ROOMBOBS: 1;14;153;53;109;24;0;120 /* 15 is text "CONSTANTINTOPLE" ROOMBOBS: 1;15;23;77;96;16;0;120 /* 16 is text "(LUNCHTIME)" ROOMBOBS: 1;16;175;77;58;15;0;120 /* 17 is dice ROOMBOBS: 1;17;0;100;16;9;0;124 /* 18 is cup ROOMBOBS: 1;18;30;100;16;13;0;130 /* 19 is pillar ROOMBOBS: 1;19;276;0;11;119;0;0 /* 20 is beer shelf ROOMBOBS: 1;20;4;130;45;17;0;-100 /* 21 is beer bottle ROOMBOBS: 1;21;52;130;7;11;0;0 /* 22 is beer bottle (broken) ROOMBOBS: 1;22;60;131;13;8;0;0 /* 23 is pile of mugs ROOMBOBS: 1;23;222;6;23;17;0;0 /* STATIC: bobno;LBOBimage;putx;puty /* /* This puts the bob specified into the scene as a static object. /* All entries in the same room file must have different numbers. /* Room specific BOBs to be used must have been grabbed with /* the BOBS, ROOMBOBS or SECTIONBOBS statements prior to using /* them here! /* STATIC: 51;RBOB1;273;153 STATIC: 50;RBOB19;233;120 /* ANIM: bobno;bobimg;amalchannel;amalsequence;putx;puty /* /* Does much the same thing as STATIC, only here we start an /* animation instead. The amalchannels must be between 10 and 15 /* giving you 6 different room animations to play with. /* /* Below is an example commented out. /* ANIM: 12;RBOB1;12;Anim 0,(RBOB2,6)(RBOB3,3)(RBOB2,10)(RBOB3,12);250;70 /* ROOMOBJ: roomobjno,object_definition.... (see graal.main documentation) /* /* The object number specified here must later be prefixed by "ROBJ" when /* referred to in other statements and commands. /* ROOMOBJ: 1;plate;1;VIS;54;RBOB11;120;94;-10;20;12; ;NPICK;0;8;0;MID;TD;a;this;it ROOMOBJ: 2;torch;1;VIS;57;A 0,(RBOB2,17)(RBOB3,37);252;63;0;40;12; ;NPICK;9;8;0;HIGH;WD;a;this;it ROOMOBJ: 3;barrel;1;VIS;56;RBOB1;71;155;0;-8;11; ;NPICK;0;8;0;MID;WD;a;this;it ROOMOBJ: 4;bottle;1;VIS;21;RBOB21;186;85;-10;20;12; ;NPICK; ;8;0;HIGH;WD;a;this;it ROOMOBJ: 5;shelf;1;VIS;20;RBOB20;204;-25;-14;20;12; ;NPICK; ;8;0;HIGH;WD;a;this;it ROOMOBJ: 6;mugs;1;VIS;22;RBOB23;169;95;-8;20;12; ;NPICK; ;8;0;HIGH;TD;some;these;them /* DACT: condition;...;action;... /* /* These lines contain room actions performed directly as you enter the /* room. /* /* This room uses the command area /* DACT: SETRF 40,2=0 /* /* If we've been outside, we KNOW this is a bar... DACT: IFRF 1=1;OBJ1 5;NAME bartender;OBJ1 0 /* /* Introductory cutscene - welcome to Constantinople! DACT: IFRF 1=0;CUTSCENE 1,N /* Put some items in the inventory from the very start and load pick up effect DACT: IFRF 1=0;GET SOBJ2,N;GET 24,U;EFFECT 1,chimes2s.snd,DEFAULT /* /* Broken bottle on the floor? (Because it's a room object, we must /* use a room flag to check its status - all its own object flags /* are reset as soon as Olaf leaves the bar! DACT: IFRF 9=1;SHOW ROBJ4,190,113,RBOB22 /* /* Kill the music (if any) DACT: TRACK OFF /* Light up scene (if not done in cutscene 1) DACT: IFRF 1=1;LIGHTS ON /* Set room flag 1 to 1, indicating the game has been initialised DACT: IFRF 1=0;SETRF 1=1 /* Give the player control DACT: EXIT /* LINE: dlgno;lineno;line;reuseline;conditions /* /* Specifies a line of dialogue /* /* LACT: dlgno;lineno;action;...;action /* /* Specifies a line executed when the corresponding LINE /* has been selected by the player. LACT:s belonging to a /* certain LINE: must ALWAYS be placed directly below the /* corresponding LINE: statement as shown here. /* /* 1 is bartender dialogue /* LINE: 1;1;Thank you very much.;Never mind.; LACT: 1;1;IFOF 1=0;RESP R,1,Don't mention it.;SETOF 1=1;EDLG;EXIT LACT: 1;1;IFOF 1=1;RESP R,1,As if I ever did.;EDLG;EXIT /* LINE: 1;2;A pint of anything but mead, please.; ; LACT: 1;2;RESP R,1,Sorry, the bar is closed.;RESP R,1,It's been closed for quite a while, actually.;RESP R,1,Perhaps you are not aware that it is eleven o'clock...;RESP R,1,...the morning after!;DSET 1,+1,+6,N2 /* LINE: 1;3;What is this place?;Where did you say I was?; LACT: 1;3;RESP R,1,You are in the bar, of course.;NAME bartender;RESP R,1,Every good adventure game has one, you know...;RESP R,1,Monkey Island...;RESP R,1,...Cruise for a Corpse...;RESP R,1,...Simon the Sorcerer... LACT: 1;3;RESP R,1,This particular bar is called "The Last Bar in Constantinople".;DSET 1,+1,+2,+5 /* LINE: 1;5;I'm just curious: Why "The Last Bar in Constantinople"?; ; LACT: 1;5;RESP R,1,Well...;RESP R,1,...most guys that drink our mead the way you did last night just don't survive to try another one.;DSET 1,N5;EXIT /* LINE: 1;6;I don't suppose you could tell me\what happened last night?;Uh - could you please repeat that thing about last night?; LACT: 1;6;RESP R,1,Oh, nothing much happened.;RESP R,1,You drank a lot of mead...;RESP R,1,...you took part in a nice, friendly game of dice... LACT: 1;6;RESP R,1,...and if my memory serves me right, you lost your ship and crew to some salt merchant from Medina. LACT: 1;6;CBOB 11;W 12;SAY Oh, dear.;W 24;CBOB 14;IFOF 9,2=0;ADDRF 0,20,1 LACT: 1;6;SETOF 9,2=1;DSET 1,+1 /* LINE: 1;7;Do you know anything about the ship in the harbour?; ;IFOF 2=1 LACT: 1;7;RESP R,1,Oh, you mean Rajah Singhs ship.;RESP R,1,Yes, everyone knows Rajah Singh.;RESP R,1,A wealthy man... LACT: 1;7;RESP R,1,...but rather a lousy captain, I'm afraid.;RESP R,1,He's better known for his turbans than his seamanship, that's for sure!;DSET 1,N7,+8,+10 /* LINE: 1;8;What about Rajah Singh's turbans?; ; LACT: 1;8;RESP R,1,Well, he spends a fortune on them, because he keeps loosing them all the time.;RESP R,1,Haven't you noticed? Go have a look, it's really fascinating.;DSET 1 /* LINE: 1;9;What can you tell me about Ali Harrod?; ;IFOF 3=1 LACT: 1;9;RESP R,1,Oh, he's quite nice, but a clever businessman.;RESP R,1,Mind you, he cares about his customers. LACT: 1;9;RESP R,1,He has special sales and campaigns quite often.;DSET 1,+10 /* LINE: 1;10;Thanks for the information.; ; LACT: 1;10;RESP R,1,Well, I wouldn't call it information. It's more gossip, really...;EDLG;EXIT /* LINE: 1;11;My head hurts.; ; LACT: 1;11;RESP R,1,That's probably because you've been sleeping with your helmet on all night.;DSET 1,N11 /* LINE: 1;12;Could you help me, please...\I was supposed to be home\half a year ago or so.; ; LACT: 1;12;RESP R,1,Well, I've heard about people being late for supper...;RESP R,1,...but that's plain ridiculous!;DSET 1,N12 /* Room actions follow below *** /* /* ACTION: verbno;condition;...;command;... /* /* Action 0 - Exit /* =============== /* ACTION: 0;IFOBJ 1;MEXIT;GOTO 2,1 /* /* Action 1 - Give /* =============== /* ACTION: 1;IFOBJ SOBJ3;IFOBJ2 5;IFNOTCARR;IFPICK;MOBJ;HANDLE;PICK;HANDLE -1 ACTION: 1;IFOBJ SOBJ3;IFOBJ2 5;IFCARR;HOTSP RBOB18,0;MOBJ 5;SAY Here, have some nice mead.;HANDLE;W 50;RESP R,1,What? Do you really think I'm crazy enough to drink that stuff myself?;RESP R,1,Hah hah.;HANDLE -1;EXIT ACTION: 1;IFOBJ2 5;IFCARR;MOBJ 5;HANDLE;RESP R,1,Keep it, I don't want it!;HANDLE -1;EXIT /* /* Action 2- Pick up /* ================= /* ACTION: 2;IFOBJ SOBJ3;ADDRF 0,20,1 ACTION: 2;IFOBJ ROBJ6;SAY I have no need for a lot of dirty mugs.;EXIT ACTION: 2;IFOBJ ROBJ4; ;IFRF 9=0;SAMLOAD beerbreak.snd;MOBJ;HANDLE;SHOW ROBJ4,190,113,RBOB22;SAM DEF,DEF;W 50;HANDLE -1;MOBJ;SAY Ooops!;SETRF 9=1;EXIT ACTION: =;IFRF 9=1;SAY I would only cut myself.;EXIT ACTION: 2;IFOBJ 1;MOBJ;SAY It seems a little pointless, but OK! ACTION: 2;IFOBJ ROBJ1; ;IFOF 1=0;VERB 8;REDO ACTION: =;SAY Not on your life, mate! Didn't you see what's on it?;EXIT /* /* Action 3 - Use /* ============== /* ACTION: 3;IFOBJ ROBJ1; ;IFOF 1=0;VERB 8;REDO ACTION: =;SAY I can't think of ANY use for spam!;EXIT ACTION: 3;IFOBJ ROBJ2;SAY It seems to me like it's in full use already.;EXIT ACTION: 3;IFOBJ SOBJ2;SAY I have a feeling I've spent enough money in here already...;EXIT ACTION: 3;IFOBJ 1;IFOF 1=0|1;SAY I really don't see how that could work...;EXIT ACTION: 3;IFOBJ 24;IFOBJ2 1;IFNOTCARR 1;OBJ1 1;MOBJ;HANDLE;PICK;W 25;HANDLE -1;OBJ1 /* /* Action 4 - Open /* =============== /* /* Action 5 - Talk to /* ================== /* ACTION: 5;IFOBJ 5;IFOF 1=0;MOBJ;SAY Hello.;RESP R,1,Hello, yourself.;DSET 1,+3,+7,+9,+11,+12;EXIT ACTION: 5;IFOBJ 5;IFOF 1=1;MOBJ;SAY Hello again.;RESP R,1,Well, hello there. Feeling better?;DSET 1;EXIT /* /* Action 6 - Push /* =============== /* ACTION: 6;IFOBJ ROBJ3;MOBJ;HANDLE;W 50;HANDLE -1;SAY It doesn't move.;EXIT /* /* Action 7 - Close /* ================ /* /* /* Action 8 - Look at /* ================== /* ACTION: 8;MOBJ ACTION: 8;IFOBJ ROBJ5; ;IFRF 9=0;SAY 99 bottles of beer on the wall.;EXIT ACTION: =;IFRF 9=1;SAY 98 bottles of beer on the wall.;EXIT ACTION: 8;IFOBJ ROBJ4; ;IFRF 9=0;SAY One easily accessible bottle of beer.;EXIT ACTION: =;IFRF 9=1;SAY One broken beer bottle.;EXIT ACTION: 8;IFOBJ ROBJ6;SAY This guy has some washing up to do.;EXIT ACTION: 8;IFOBJ ROBJ2;SAY It doesn't give me any bright ideas, unfortunately.;EXIT ACTION: 8;IFOBJ ROBJ3;SAY It's just an empty barrel used as a table.;EXIT ACTION: 8;IFOBJ 5;SAY I doesn't matter how much he polishes that mug...;SAY ...he'll never get it clean using a rug that dirty!;EXIT ACTION: 8;IFOBJ ROBJ1;SAY There is spam on this plate.;W 50;SAY I hate spam!;SETOF 1=1;EXIT /* /* Action 9 - Pull /* =============== /* ACTION: 9;MOBJ ACTION: 9;IFOBJ ROBJ2;SAY It's stuck to the wall - and I don't want it anyway.;EXIT ACTION: 9;IFOBJ ROBJ3;SAY It would only tip over and probably crush me!;EXIT /* /* End of room file